Build Dynamic Verifiers for Real Concurrency APIs, and Novel GUIs to Visualize Concurrency Nuances
نویسندگان
چکیده
Acknowledgements: This position statement covers joint work with the students of the Gauss research group, principally Sarvani Vakkalanka, Anh Vo, Sriram Aananthakrishnan, and Michael DeLisi. Discussions with faculty CoPI Robert M. Kirby are gratefully acknowledged. Summary: This paper is first a plea that formal methods researchers start studying and building support for the plethora of concurrency APIs being proposed. Formal methods researchers have shown heightened interest on the topic of transaction memories. However, a corresponding level of interest on other APIs (elaborated below) is lacking. Second, this paper explores ideas on how GUIs for formal methods tools applicable to real world concurrency APIs might differ from other GUIs (such as for traditional debuggers). While many ideas, such as message sequencing charts, have been pioneered in tools such as SPIN [1], each proposed concurrency API has enough nuances of concurrency, resource usage, communication, and synchronization that every attempt must be made to display them in an intuitively appealing manner. This paper elaborates on these statements, and then walks the reader through these features of ISP [5, 6], our push-button dynamic formal verifier of Message Passing Interface [3] (MPI) programs. ISP has a graphical user interface (GUI) that is particularly tailored to give users insights into the message passing concurrency of MPI. Details: A large number of APIs, domain specific languages, and annotation frameworks (generically called “APIs” in this paper) are under active consideration for the development of future concurrent systems. They include both well established APIs as well as some new ones; a partial list would be MPI, Intel Thread Building Blocks, various transaction memories (TM), OpenMP, CUDA, OpenCL, Parallel FX, Task Parallel Library, and MCAPI. One should begin educating students on the existence and state of maturity of these APIs. Current textbooks and descriptive papers do not emphasize the formal aspects of these APIs. There must ideally be push-button dynamic formal verifiers for programs written against concurrency APIs. The importance of dynamic formal verification stems from the fact that they combine the best features of model checkers and traditional debuggers. In particular, they are easy to use, are based on concrete execution of actual codes (and not verification models), do not generate false alarms, and can generate counterexamples when assertions fail. As
منابع مشابه
A Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملA Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملارائه الگوریتم پویا برای تنظیم همروندی فرایندهای کسبوکار
Business process management systems (BPMS) are vital complex information systems to compete in the global market and to increase economic productivity. Workload balancing of resources in BPMS is one of the challenges have been long studied by researchers. Workload balancing of resources increases the system stability, improves the efficiency of the resources and enhances the quality of their pr...
متن کاملA Graph-based Concurrency Control Protocol for Xml Metadata Knowledge Bases
Providing efficient access for XML APIs in XML metadata knowledge bases (XMKBs) is crucial, since XML is widely used to integrate data in XMKBs. In XMKBs, the types, contents and locations of heterogeneous data are illustrated in XML documents to provide a uniform interface for users to manipulate this data. As users update and query information about this heterogeneous data, the XML documents ...
متن کاملOptimization of majority protocol for controlling transactions concurrency in distributed databases by multi-agent systems
In this paper, we propose a new concurrency control algorithm based on multi-agent systems which is an extension of majority protocol. Then, we suggest a clustering approach to get better results in reliability, decreasing message passing and algorithm’s runtime. Here, we consider n different transactions working on non-conflict data items. Considering execution efficiency of some different...
متن کامل